From 54322333d58dded4ee94a6174dbd2544fdcb46ec Mon Sep 17 00:00:00 2001 From: oliskoli Date: Thu, 31 Jul 2008 19:08:24 +0000 Subject: [PATCH] Add GPSBabel session management (session.h/session.c). --- Makefile.in | 5 +- csv_util.c | 9 ++ defs.h | 3 + main.c | 6 + unicsv.c | 12 +- vecs.c | 3 +- waypt.c | 2 + xcsv_tokens.gperf | 275 +++++++++++++++++++++++----------------------- xcsv_tokens.in | 2 + 9 files changed, 177 insertions(+), 140 deletions(-) diff --git a/Makefile.in b/Makefile.in index 6bf04afdc..f9a639b80 100644 --- a/Makefile.in +++ b/Makefile.in @@ -91,7 +91,7 @@ LIBOBJS = queue.o route.o waypt.o filter_vecs.o util.o vecs.o mkshort.o \ csv_util.o strptime.o grtcirc.o vmem.o util_crc.o xmlgeneric.o \ uuid.o formspec.o xmltag.o cet.o cet_util.o fatal.o rgbcolors.o \ inifile.o garmin_fs.o gbsleep.o units.o @GBSER@ gbser.o \ - gbfile.o parse.o avltree.o \ + gbfile.o parse.o avltree.o session.o \ $(PALM_DB) $(GARMIN) $(JEEPS) $(SHAPE) @ZLIB@ $(FMTS) $(FILTERS) OBJS = main.o globals.o $(LIBOBJS) @FILEINFO@ @@ -695,6 +695,7 @@ route.o: route.c defs.h config.h queue.h gbtypes.h zlib/zlib.h \ zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h grtcirc.h saroute.o: saroute.c defs.h config.h queue.h gbtypes.h zlib/zlib.h \ zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h grtcirc.h +session.o: session.h session.c defs.h gbtypes.h shape.o: shape.c defs.h config.h queue.h gbtypes.h zlib/zlib.h \ zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h shapelib/shapefil.h smplrout.o: smplrout.c defs.h config.h queue.h gbtypes.h zlib/zlib.h \ @@ -778,7 +779,7 @@ vitovtt.o: vitovtt.c defs.h config.h queue.h gbtypes.h zlib/zlib.h \ zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h vmem.o: vmem.c defs.h config.h queue.h gbtypes.h zlib/zlib.h zlib/zconf.h \ gbfile.h cet.h cet_util.h inifile.h -waypt.o: waypt.c defs.h config.h queue.h gbtypes.h zlib/zlib.h \ +waypt.o: waypt.c defs.h config.h queue.h gbtypes.h zlib/zlib.h session.h \ zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h grtcirc.h garmin_fs.h \ jeeps/gps.h jeeps/../defs.h jeeps/gpsport.h jeeps/gpsdevice.h \ jeeps/gps.h jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h \ diff --git a/csv_util.c b/csv_util.c index 1ea09aba6..e776f421b 100644 --- a/csv_util.c +++ b/csv_util.c @@ -63,6 +63,8 @@ typedef enum { XT_DESCRIPTION, XT_EXCEL_TIME, XT_FACILITY, + XT_FILENAME, + XT_FORMAT, XT_GEOCACHE_CONTAINER, XT_GEOCACHE_DIFF, XT_GEOCACHE_HINT, @@ -1833,6 +1835,13 @@ xcsv_waypt_pr(const waypoint *wpt) writebuff(buff, fmp->printfc, GMSD_GET(facility, "")); } break; + /* specials */ + case XT_FILENAME: + writebuff(buff, fmp->printfc, wpt->session->filename); + break; + case XT_FORMAT: + writebuff(buff, fmp->printfc, wpt->session->name); + break; case -1: if (strncmp(fmp->key, "LON_10E", 7) == 0) { writebuff(buff, fmp->printfc, lon * pow((double)10, atof(fmp->key+7))); diff --git a/defs.h b/defs.h index 20ca34607..92e5e6dbe 100644 --- a/defs.h +++ b/defs.h @@ -37,6 +37,7 @@ #include "cet.h" #include "cet_util.h" #include "inifile.h" +#include "session.h" // Turn on Unicode in expat? #ifdef _UNICODE @@ -435,6 +436,7 @@ typedef struct { float temperature; /* Degrees celsius */ geocache_data gc_data; format_specific_data *fs; + session_t *session; /* pointer to a session struct */ void *extra_data; /* Extra data added by, say, a filter. */ } waypoint; @@ -707,6 +709,7 @@ typedef struct ff_vecs { char *encode; int fixed_encode; position_ops_t position_ops; + const char *name; /* dyn. initialized by find_vec */ } ff_vecs_t; typedef struct style_vecs { diff --git a/main.c b/main.c index 6e338ce07..a6f9be1ab 100644 --- a/main.c +++ b/main.c @@ -24,6 +24,7 @@ #include "cet_util.h" #include "csv_util.h" #include "inifile.h" +#include "session.h" #include #include @@ -260,6 +261,7 @@ main(int argc, char *argv[]) } cet_register(); + session_init(); waypt_init(); route_init(); @@ -349,6 +351,7 @@ main(int argc, char *argv[]) cet_convert_init(ivecs->encode, ivecs->fixed_encode); /* init by module vec */ + start_session(ivecs->name, fname); ivecs->rd_init(fname); ivecs->read(); ivecs->rd_deinit(); @@ -568,6 +571,7 @@ main(int argc, char *argv[]) cet_convert_init(ivecs->encode, 1); + start_session(ivecs->name, argv[0]); ivecs->rd_init(argv[0]); ivecs->read(); ivecs->rd_deinit(); @@ -620,6 +624,7 @@ main(int argc, char *argv[]) if (ivecs->position_ops.rd_init) { + start_session(ivecs->name, fname); ivecs->position_ops.rd_init(fname); } @@ -681,6 +686,7 @@ main(int argc, char *argv[]) cet_deregister(); waypt_flush_all(); route_flush_all(); + session_exit(); exit_vecs(); exit_filter_vecs(); inifile_done(global_opts.inifile); diff --git a/unicsv.c b/unicsv.c index 6fca2e741..cdbc7d627 100644 --- a/unicsv.c +++ b/unicsv.c @@ -222,7 +222,7 @@ static route_head *unicsv_track, *unicsv_route; static char unicsv_outp_flags[(fld_terminator + 8) / 8]; static grid_type unicsv_grid_idx; static int unicsv_datum_idx; -static char *opt_datum, *opt_grid, *opt_utc; +static char *opt_datum, *opt_grid, *opt_utc, *opt_filename, *opt_format; static int unicsv_waypt_ct; static char unicsv_detect; @@ -233,6 +233,10 @@ static arglist_t unicsv_args[] = { NULL, ARGTYPE_STRING, ARG_NOMINMAX}, {"utc", &opt_utc, "Write timestamps with offset x to UTC time", NULL, ARGTYPE_INT, "-23", "+23"}, + {"format", &opt_format, "Write name(s) of format(s) from input session(s)", + NULL, ARGTYPE_BOOL, ARG_NOMINMAX}, + {"filename", &opt_filename, "Write filename(s) from input session(s)", + NULL, ARGTYPE_BOOL, ARG_NOMINMAX}, ARG_TERMINATOR }; @@ -1310,6 +1314,9 @@ unicsv_waypt_disp_cb(const waypoint *wpt) if FIELD_USED(fld_garmin_fax_nr) unicsv_print_str(GMSD_GET(fax_nr, NULL)); if FIELD_USED(fld_garmin_email) unicsv_print_str(GMSD_GET(email, NULL)); + if (opt_format) unicsv_print_str(wpt->session->name); + if (opt_filename) unicsv_print_str(wpt->session->filename); + gbfputs(UNICSV_LINE_SEP, fout); } @@ -1429,6 +1436,9 @@ unicsv_wr(void) if FIELD_USED(fld_garmin_fax_nr) gbfprintf(fout, "%sFax", unicsv_fieldsep); if FIELD_USED(fld_garmin_email) gbfprintf(fout, "%sEmail", unicsv_fieldsep); + if (opt_format) gbfprintf(fout, "%sFormat", unicsv_fieldsep); + if (opt_filename) gbfprintf(fout, "%sFilename", unicsv_fieldsep); + gbfputs(UNICSV_LINE_SEP, fout); switch(global_opts.objective) { diff --git a/vecs.c b/vecs.c index 86b5006ad..eb09ee783 100644 --- a/vecs.c +++ b/vecs.c @@ -973,6 +973,7 @@ find_vec(char *const vecname, char **opts) xcsv_setup_internal_style( NULL ); #endif // CSVFMTS_ENABLED xfree(v); + vec->vec->name = vec->name; /* needed for session information */ return vec->vec; } @@ -1028,7 +1029,7 @@ find_vec(char *const vecname, char **opts) #endif // CSVFMTS_ENABLED xfree(v); - + vec_list[0].vec->name = svec->name; /* needed for session information */ return vec_list[0].vec; } diff --git a/waypt.c b/waypt.c index b1d49e3db..120b2ddea 100644 --- a/waypt.c +++ b/waypt.c @@ -24,6 +24,7 @@ #include "cet_util.h" #include "grtcirc.h" #include "garmin_fs.h" +#include "session.h" queue waypt_head; static unsigned int waypt_ct; @@ -173,6 +174,7 @@ waypt_new(void) wpt->altitude = unknown_alt; wpt->fix = fix_unknown; wpt->sat = -1; + wpt->session = curr_session(); QUEUE_INIT(&wpt->Q); return wpt; diff --git a/xcsv_tokens.gperf b/xcsv_tokens.gperf index 432e4253b..76a47fdac 100644 --- a/xcsv_tokens.gperf +++ b/xcsv_tokens.gperf @@ -1,4 +1,4 @@ -/* ANSI-C code produced by gperf version 3.0.1 */ +/* ANSI-C code produced by gperf version 3.0.2 */ /* Command-line: gperf -L ANSI-C -D -t xcsv_tokens.in */ /* Computed positions: -k'2,4-5,12,$' */ @@ -32,12 +32,12 @@ #line 1 "xcsv_tokens.in" struct xt_mapping {char *name; int xt_token; }; -#define TOTAL_KEYWORDS 71 +#define TOTAL_KEYWORDS 73 #define MIN_WORD_LENGTH 3 #define MAX_WORD_LENGTH 21 #define MIN_HASH_VALUE 7 -#define MAX_HASH_VALUE 154 -/* maximum key range = 148, duplicates = 0 */ +#define MAX_HASH_VALUE 153 +/* maximum key range = 147, duplicates = 0 */ #ifdef __GNUC__ __inline @@ -51,32 +51,32 @@ hash (register const char *str, register unsigned int len) { static unsigned char asso_values[] = { - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 0, 155, 0, 0, 10, - 60, 0, 50, 30, 155, 15, 40, 40, 0, 25, - 30, 155, 0, 20, 15, 155, 40, 155, 25, 0, - 155, 155, 155, 155, 155, 0, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 155 + 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, + 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, + 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, + 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, + 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, + 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, + 154, 154, 154, 154, 154, 0, 154, 0, 0, 10, + 55, 15, 50, 35, 154, 10, 40, 20, 0, 25, + 25, 154, 0, 40, 15, 154, 20, 154, 25, 45, + 154, 154, 154, 154, 154, 0, 154, 154, 154, 154, + 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, + 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, + 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, + 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, + 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, + 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, + 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, + 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, + 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, + 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, + 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, + 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, + 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, + 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, + 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, + 154, 154, 154, 154, 154, 154 }; register int hval = len; @@ -113,164 +113,167 @@ in_word_set (register const char *str, register unsigned int len) { static struct xt_mapping wordlist[] = { -#line 39 "xcsv_tokens.in" +#line 41 "xcsv_tokens.in" {"LAT_DIR", XT_LAT_DIR}, -#line 44 "xcsv_tokens.in" +#line 46 "xcsv_tokens.in" {"LAT_NMEA", XT_LAT_NMEA}, -#line 31 "xcsv_tokens.in" +#line 33 "xcsv_tokens.in" {"ICON_DESCR", XT_ICON_DESCR}, -#line 43 "xcsv_tokens.in" +#line 45 "xcsv_tokens.in" {"LAT_DDMMDIR", XT_LAT_DDMMDIR}, -#line 36 "xcsv_tokens.in" +#line 38 "xcsv_tokens.in" {"LAT_DECIMALDIR", XT_LAT_DECIMALDIR}, #line 5 "xcsv_tokens.in" {"ANYNAME", XT_ANYNAME}, -#line 54 "xcsv_tokens.in" - {"MAP_EN_BNG", XT_MAP_EN_BNG}, #line 10 "xcsv_tokens.in" {"DESCRIPTION", XT_DESCRIPTION}, -#line 20 "xcsv_tokens.in" +#line 22 "xcsv_tokens.in" {"GEOCACHE_TERR", XT_GEOCACHE_TERR}, -#line 19 "xcsv_tokens.in" +#line 21 "xcsv_tokens.in" {"GEOCACHE_PLACER", XT_GEOCACHE_PLACER}, #line 6 "xcsv_tokens.in" {"CADENCE", XT_CADENCE}, -#line 13 "xcsv_tokens.in" +#line 15 "xcsv_tokens.in" {"GEOCACHE_CONTAINER", XT_GEOCACHE_CONTAINER}, -#line 16 "xcsv_tokens.in" +#line 18 "xcsv_tokens.in" {"GEOCACHE_ISARCHIVED", XT_GEOCACHE_ISARCHIVED}, -#line 49 "xcsv_tokens.in" +#line 72 "xcsv_tokens.in" + {"TRACK_NAME", XT_TRACK_NAME}, +#line 51 "xcsv_tokens.in" {"LON_DIR", XT_LON_DIR}, -#line 53 "xcsv_tokens.in" +#line 55 "xcsv_tokens.in" {"LON_NMEA", XT_LON_NMEA}, -#line 7 "xcsv_tokens.in" - {"CITY", XT_CITY}, -#line 70 "xcsv_tokens.in" - {"TRACK_NAME", XT_TRACK_NAME}, -#line 52 "xcsv_tokens.in" +#line 56 "xcsv_tokens.in" + {"MAP_EN_BNG", XT_MAP_EN_BNG}, +#line 54 "xcsv_tokens.in" {"LON_DDMMDIR", XT_LON_DDMMDIR}, -#line 15 "xcsv_tokens.in" +#line 17 "xcsv_tokens.in" {"GEOCACHE_HINT", XT_GEOCACHE_HINT}, -#line 46 "xcsv_tokens.in" +#line 48 "xcsv_tokens.in" {"LON_DECIMALDIR", XT_LON_DECIMALDIR}, -#line 17 "xcsv_tokens.in" +#line 19 "xcsv_tokens.in" {"GEOCACHE_ISAVAILABLE", XT_GEOCACHE_ISAVAILABLE}, -#line 32 "xcsv_tokens.in" - {"IGNORE", XT_IGNORE}, -#line 41 "xcsv_tokens.in" - {"LAT_INT32DEG", XT_LAT_INT32DEG}, -#line 72 "xcsv_tokens.in" +#line 74 "xcsv_tokens.in" {"URL", XT_URL}, -#line 28 "xcsv_tokens.in" +#line 30 "xcsv_tokens.in" {"HEART_RATE", XT_HEART_RATE}, -#line 68 "xcsv_tokens.in" +#line 70 "xcsv_tokens.in" {"STREET_ADDR", XT_STREET_ADDR}, -#line 9 "xcsv_tokens.in" - {"COUNTRY", XT_COUNTRY}, -#line 18 "xcsv_tokens.in" - {"GEOCACHE_LAST_FOUND", XT_GEOCACHE_LAST_FOUND}, -#line 37 "xcsv_tokens.in" +#line 39 "xcsv_tokens.in" {"LAT_DECIMAL", XT_LAT_DECIMAL}, -#line 35 "xcsv_tokens.in" - {"ISO_TIME", XT_ISO_TIME}, -#line 67 "xcsv_tokens.in" - {"STATE", XT_STATE}, -#line 29 "xcsv_tokens.in" +#line 24 "xcsv_tokens.in" + {"GMT_TIME", XT_GMT_TIME}, +#line 31 "xcsv_tokens.in" {"HMSG_TIME", XT_HMSG_TIME}, -#line 62 "xcsv_tokens.in" - {"PATH_SPEED", XT_PATH_SPEED}, +#line 69 "xcsv_tokens.in" + {"STATE", XT_STATE}, +#line 34 "xcsv_tokens.in" + {"IGNORE", XT_IGNORE}, +#line 23 "xcsv_tokens.in" + {"GEOCACHE_TYPE", XT_GEOCACHE_TYPE}, #line 64 "xcsv_tokens.in" + {"PATH_SPEED", XT_PATH_SPEED}, +#line 66 "xcsv_tokens.in" {"POSTAL_CODE", XT_POSTAL_CODE}, -#line 21 "xcsv_tokens.in" - {"GEOCACHE_TYPE", XT_GEOCACHE_TYPE}, -#line 33 "xcsv_tokens.in" +#line 13 "xcsv_tokens.in" + {"FILENAME", XT_FILENAME}, +#line 35 "xcsv_tokens.in" {"INDEX", XT_INDEX}, -#line 34 "xcsv_tokens.in" - {"ISO_TIME_MS", XT_ISO_TIME_MS}, -#line 51 "xcsv_tokens.in" - {"LON_INT32DEG", XT_LON_INT32DEG}, -#line 63 "xcsv_tokens.in" - {"PHONE_NR", XT_PHONE_NR}, +#line 14 "xcsv_tokens.in" + {"FORMAT", XT_FORMAT}, #line 65 "xcsv_tokens.in" + {"PHONE_NR", XT_PHONE_NR}, +#line 20 "xcsv_tokens.in" + {"GEOCACHE_LAST_FOUND", XT_GEOCACHE_LAST_FOUND}, +#line 67 "xcsv_tokens.in" {"ROUTE_NAME", XT_ROUTE_NAME}, -#line 56 "xcsv_tokens.in" +#line 58 "xcsv_tokens.in" {"PATH_COURSE", XT_PATH_COURSE}, -#line 26 "xcsv_tokens.in" - {"GPS_SAT", XT_GPS_SAT}, -#line 22 "xcsv_tokens.in" - {"GMT_TIME", XT_GMT_TIME}, -#line 69 "xcsv_tokens.in" - {"TIMET_TIME", XT_TIMET_TIME}, -#line 47 "xcsv_tokens.in" +#line 37 "xcsv_tokens.in" + {"ISO_TIME", XT_ISO_TIME}, +#line 40 "xcsv_tokens.in" + {"LAT_DIRDECIMAL", XT_LAT_DIRDECIMAL}, +#line 49 "xcsv_tokens.in" {"LON_DECIMAL", XT_LON_DECIMAL}, -#line 12 "xcsv_tokens.in" - {"FACILITY", XT_FACILITY}, -#line 55 "xcsv_tokens.in" - {"NOTES", XT_NOTES}, -#line 8 "xcsv_tokens.in" - {"CONSTANT", XT_CONSTANT}, -#line 66 "xcsv_tokens.in" +#line 43 "xcsv_tokens.in" + {"LAT_INT32DEG", XT_LAT_INT32DEG}, +#line 29 "xcsv_tokens.in" + {"GPS_VDOP", XT_GPS_VDOP}, +#line 32 "xcsv_tokens.in" + {"HMSL_TIME", XT_HMSL_TIME}, +#line 71 "xcsv_tokens.in" + {"TIMET_TIME", XT_TIMET_TIME}, +#line 27 "xcsv_tokens.in" + {"GPS_PDOP", XT_GPS_PDOP}, +#line 68 "xcsv_tokens.in" {"SHORTNAME", XT_SHORTNAME}, -#line 45 "xcsv_tokens.in" +#line 47 "xcsv_tokens.in" {"LOCAL_TIME", XT_LOCAL_TIME}, -#line 40 "xcsv_tokens.in" +#line 59 "xcsv_tokens.in" + {"PATH_DISTANCE_KM", XT_PATH_DISTANCE_KM}, +#line 28 "xcsv_tokens.in" + {"GPS_SAT", XT_GPS_SAT}, +#line 42 "xcsv_tokens.in" {"LAT_HUMAN_READABLE", XT_LAT_HUMAN_READABLE}, -#line 58 "xcsv_tokens.in" - {"PATH_DISTANCE_MILES", XT_PATH_DISTANCE_MILES}, -#line 71 "xcsv_tokens.in" +#line 9 "xcsv_tokens.in" + {"COUNTRY", XT_COUNTRY}, +#line 73 "xcsv_tokens.in" {"URL_LINK_TEXT", XT_URL_LINK_TEXT}, -#line 38 "xcsv_tokens.in" - {"LAT_DIRDECIMAL", XT_LAT_DIRDECIMAL}, #line 11 "xcsv_tokens.in" {"EXCEL_TIME", XT_EXCEL_TIME}, -#line 42 "xcsv_tokens.in" +#line 44 "xcsv_tokens.in" {"LATLON_HUMAN_READABLE", XT_LATLON_HUMAN_READABLE}, -#line 25 "xcsv_tokens.in" - {"GPS_PDOP", XT_GPS_PDOP}, -#line 30 "xcsv_tokens.in" - {"HMSL_TIME", XT_HMSL_TIME}, -#line 59 "xcsv_tokens.in" - {"PATH_SPEED_KNOTS", XT_PATH_SPEED_KNOTS}, -#line 73 "xcsv_tokens.in" - {"YYYYMMDD_TIME", XT_YYYYMMDD_TIME}, -#line 57 "xcsv_tokens.in" - {"PATH_DISTANCE_KM", XT_PATH_DISTANCE_KM}, -#line 27 "xcsv_tokens.in" - {"GPS_VDOP", XT_GPS_VDOP}, -#line 4 "xcsv_tokens.in" - {"ALT_METERS", XT_ALT_METERS}, #line 50 "xcsv_tokens.in" - {"LON_HUMAN_READABLE", XT_LON_HUMAN_READABLE}, -#line 24 "xcsv_tokens.in" - {"GPS_HDOP", XT_GPS_HDOP}, -#line 48 "xcsv_tokens.in" {"LON_DIRDECIMAL", XT_LON_DIRDECIMAL}, -#line 23 "xcsv_tokens.in" +#line 53 "xcsv_tokens.in" + {"LON_INT32DEG", XT_LON_INT32DEG}, +#line 8 "xcsv_tokens.in" + {"CONSTANT", XT_CONSTANT}, +#line 36 "xcsv_tokens.in" + {"ISO_TIME_MS", XT_ISO_TIME_MS}, +#line 26 "xcsv_tokens.in" + {"GPS_HDOP", XT_GPS_HDOP}, +#line 60 "xcsv_tokens.in" + {"PATH_DISTANCE_MILES", XT_PATH_DISTANCE_MILES}, +#line 4 "xcsv_tokens.in" + {"ALT_METERS", XT_ALT_METERS}, +#line 25 "xcsv_tokens.in" {"GPS_FIX", XT_GPS_FIX}, +#line 52 "xcsv_tokens.in" + {"LON_HUMAN_READABLE", XT_LON_HUMAN_READABLE}, +#line 61 "xcsv_tokens.in" + {"PATH_SPEED_KNOTS", XT_PATH_SPEED_KNOTS}, #line 3 "xcsv_tokens.in" {"ALT_FEET", XT_ALT_FEET}, -#line 60 "xcsv_tokens.in" +#line 57 "xcsv_tokens.in" + {"NOTES", XT_NOTES}, +#line 62 "xcsv_tokens.in" {"PATH_SPEED_KPH", XT_PATH_SPEED_KPH}, -#line 14 "xcsv_tokens.in" +#line 12 "xcsv_tokens.in" + {"FACILITY", XT_FACILITY}, +#line 7 "xcsv_tokens.in" + {"CITY", XT_CITY}, +#line 16 "xcsv_tokens.in" {"GEOCACHE_DIFF", XT_GEOCACHE_DIFF}, -#line 61 "xcsv_tokens.in" - {"PATH_SPEED_MPH", XT_PATH_SPEED_MPH} +#line 63 "xcsv_tokens.in" + {"PATH_SPEED_MPH", XT_PATH_SPEED_MPH}, +#line 75 "xcsv_tokens.in" + {"YYYYMMDD_TIME", XT_YYYYMMDD_TIME} }; static signed char lookup[] = { -1, -1, -1, -1, -1, -1, -1, 0, 1, -1, 2, 3, -1, -1, - 4, -1, -1, 5, -1, -1, 6, 7, -1, 8, -1, 9, -1, 10, - 11, 12, -1, -1, 13, 14, 15, 16, 17, -1, 18, 19, 20, 21, - 22, 23, -1, 24, 25, 26, -1, 27, -1, 28, -1, 29, -1, 30, - -1, -1, -1, 31, 32, 33, -1, 34, -1, 35, 36, 37, 38, -1, - 39, 40, 41, 42, -1, 43, 44, -1, 45, -1, 46, -1, -1, 47, - 48, 49, -1, -1, 50, 51, -1, -1, -1, 52, 53, 54, 55, -1, - 56, 57, -1, 58, -1, 59, -1, -1, 60, -1, 61, -1, 62, -1, - -1, 63, -1, -1, -1, -1, 64, 65, -1, -1, 66, 67, -1, -1, - -1, -1, -1, 68, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 69, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 70 + 4, -1, -1, 5, -1, -1, -1, 6, -1, 7, -1, 8, -1, 9, + 10, 11, 12, -1, 13, 14, -1, 15, 16, -1, 17, 18, 19, -1, + -1, 20, -1, 21, 22, -1, -1, -1, -1, 23, -1, 24, 25, 26, + 27, -1, 28, -1, 29, 30, -1, 31, -1, 32, 33, -1, 34, 35, + 36, 37, -1, 38, 39, -1, 40, 41, 42, 43, 44, -1, -1, 45, + 46, 47, 48, 49, 50, -1, -1, -1, 51, 52, -1, 53, 54, -1, + -1, 55, -1, -1, 56, 57, -1, -1, 58, -1, 59, 60, 61, -1, + 62, 63, -1, -1, 64, -1, 65, -1, 66, -1, -1, -1, 67, -1, + -1, -1, 68, 69, -1, -1, -1, 70, 71, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 72 }; if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) diff --git a/xcsv_tokens.in b/xcsv_tokens.in index b71e8f0aa..40cbe1fe0 100644 --- a/xcsv_tokens.in +++ b/xcsv_tokens.in @@ -10,6 +10,8 @@ COUNTRY, XT_COUNTRY DESCRIPTION, XT_DESCRIPTION EXCEL_TIME, XT_EXCEL_TIME FACILITY, XT_FACILITY +FILENAME, XT_FILENAME +FORMAT, XT_FORMAT GEOCACHE_CONTAINER, XT_GEOCACHE_CONTAINER GEOCACHE_DIFF, XT_GEOCACHE_DIFF GEOCACHE_HINT, XT_GEOCACHE_HINT -- 2.30.2